﻿using System.Collections.Generic;
using System.Threading;
using System.Threading.Tasks;
using YFurion.Application;

namespace UpperComputer.Application
{
    public interface IBaseRoleUserService : IEFCoreApplicationService<BaseRoleUserDto, long, BaseRoleUserResultRequestDto>
    {
        Task<ICollection<BaseRoleUserDto>> GetListWithAccount(string account, CancellationToken cancellationToken = default);

        Task<ICollection<BaseRoleUserDto>> GetListWithAccounts(List<string> accounts, CancellationToken cancellationToken = default);

        Task DeleteAsync(string account, CancellationToken cancellationToken = default);

        Task<bool> HasPermission(string account, CancellationToken cancellationToken = default);
    }
}